package com.woniuxy.patrol.service;

import com.woniuxy.common.utils.ResponseUtil;
import com.woniuxy.patrol.pojo.PatrolRoute;
import com.baomidou.mybatisplus.extension.service.IService;

import java.io.ByteArrayOutputStream;
import java.util.List;

/**
* @author 13162
* @description 针对表【wcm_patrol_route(巡更路线表)】的数据库操作Service
* @createDate 2025-07-14 19:22:37
*/
public interface PatrolRouteService extends IService<PatrolRoute> {

    /**
     * 根据社区ID查询巡更路线（对应《巡更demo.docx》3.3节巡更路线列表功能）
     */
    ResponseUtil getByCommunityId(Long communityId);

    /**
     * 添加巡更路线（对应《巡更demo.docx》6.25.1添加巡更路线功能）
     */
    ResponseUtil addRoute(PatrolRoute route, List<Long> pointIds);

    /**
     * 编辑巡更路线
     */
    ResponseUtil updateRoute(PatrolRoute route, List<Long> pointIds);

    /**
     * 删除巡更路线
     */
    ResponseUtil deleteRoute(Long routeId);

    /**
     * 查询路线详情（包含点位）
     */
    ResponseUtil getRouteDetail(Long routeId);

    // 新增方法：根据计划ID获取路线列表
    ResponseUtil getByPlanId(Long planId);

    /**
     * 导出指定社区的巡更路线记录为Excel
     * @param communityId 社区ID
     * @return 字节输出流（包含Excel数据）
     */
    ByteArrayOutputStream exportRecords(Long communityId);
}
